package com.atguigu.springcloud.controller;  
  
import com.atguigu.springcloud.entities.CommonResult;  
import com.atguigu.springcloud.entities.Payment;  
import lombok.extern.slf4j.Slf4j;  
import org.springframework.web.bind.annotation.GetMapping;  
import org.springframework.web.bind.annotation.PathVariable;  
import org.springframework.web.bind.annotation.PostMapping;  
import org.springframework.web.bind.annotation.RestController;  
import org.springframework.web.client.RestTemplate;  
  
import javax.annotation.Resource;  
  
@RestController  
@Slf4j  
public class OrderController {  
  
    public static final String PAYMENT_URL = "http://localhost:8001";

    // 引入注册中心后，还需要配合负载均衡功能才能让“基于微服务名调用微服务”功能实现
    public static final String PAYMENT_URL_BY_NAME = "http://CLOUD-PAYMENT-SERVICE";
  
    @Resource
    private RestTemplate restTemplate;  
  
    @PostMapping("/consumer/payment/create")  
    public CommonResult<Payment> create(Payment payment){
        return restTemplate.postForObject(PAYMENT_URL_BY_NAME+"/payment/create",payment,CommonResult.class);  //写操作
    }
  
    @GetMapping("/consumer/payment/get/{id}")  
    public CommonResult<Payment> getPayment(@PathVariable("id") Long id){  
        return restTemplate.getForObject(PAYMENT_URL_BY_NAME+"/payment/get/"+id,CommonResult.class);
    }  
}